คำถามติดแท็ก database-migration

การโอนย้ายฐานข้อมูลเป็นกระบวนการถ่ายโอนข้อมูลระหว่างประเภทการจัดเก็บรูปแบบหรือระบบคอมพิวเตอร์ ยังหมายถึงการย้ายฐานข้อมูลจากผู้จำหน่ายรายหนึ่งไปยังอีกรายหนึ่งหรือเพื่ออัพเกรดเวอร์ชันของซอฟต์แวร์ฐานข้อมูล

11
การย้ายถิ่นของ EF: การย้อนกลับไปใช้การโยกย้ายครั้งสุดท้ายหรือไม่
นี่เป็นงานที่ธรรมดามาก แต่ฉันไม่สามารถหาวิธีง่ายๆได้ ฉันต้องการเลิกทำการโยกย้ายครั้งสุดท้ายที่ใช้ ฉันคาดว่าจะมีคำสั่งง่าย ๆ เช่น PM> Update-Database -TargetMigration:"-1" สิ่งที่ฉันสามารถทำได้คือ: PM> Get-Migrations Retrieving migrations that have been applied to the target database. 201208012131302_Add-SystemCategory 201207311827468_CategoryIdIsLong 201207232247409_AutomaticMigration 201207211340509_AutomaticMigration 201207200025294_InitialCreate PM> Update-Database -TargetMigration:"CategoryIdIsLong" (อย่างน้อยฉันสามารถใช้เพียงชื่อข้ามการประทับเวลา ... ) มีวิธีที่ง่ายกว่านี้ไหม?

14
รีเซ็ตการโยกย้าย Entity-Framework
ฉันลบล้างการย้ายข้อมูลของฉันฉันใช้IgnoreChangesในการย้ายข้อมูลเริ่มต้น แต่ตอนนี้ฉันต้องการลบการย้ายข้อมูลทั้งหมดของฉันและเริ่มต้นด้วยการโยกย้ายครั้งแรกด้วยตรรกะทั้งหมด เมื่อฉันลบการโยกย้ายในโฟลเดอร์และลองและAdd-Migrationมันไม่ได้สร้างไฟล์เต็ม (มันว่างเปล่า - เพราะฉันยังไม่ได้ทำการเปลี่ยนแปลงใด ๆ ตั้งแต่ครั้งล่าสุดของฉัน แต่ตอนนี้ถูกย้ายการย้าย) มีคำสั่งDisable-MigrationsEnable-Migrationsหรือไม่ดังนั้นฉันจึงสามารถรันใหม่ได้?

18
ย้อนกลับการโยกย้ายหนึ่งใน Laravel
ฉันต้องการ เพื่อย้อนกลับเท่านั้น: Rolled back: 2015_05_15_195423_alter_table_web_directories ฉันวิ่ง php artisan migrate:rollback3 การโยกย้ายของฉันย้อนกลับ Rolled back: 2015_05_15_195423_alter_table_web_directories Rolled back: 2015_05_13_135240_create_web_directories_table Rolled back: 2015_05_13_134411_create_contacts_table ฉันลบ ทั้งของฉันweb_directoriesและcontactsโต๊ะของฉันโดยไม่ได้ตั้งใจ ฉันไม่เคยต้องการที่จะเกิดขึ้นและถ้าฉันสามารถย้อนกลับเฉพาะหนึ่งที่ภัยพิบัตินี้จะไม่เกิดขึ้น

12
ฉันจะย้ายฐานข้อมูล redis จากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่นได้อย่างไร
ขณะนี้ฉันมีเซิร์ฟเวอร์ Redis สดที่ทำงานบนอินสแตนซ์คลาวด์และฉันต้องการย้ายเซิร์ฟเวอร์ Redis นี้ไปยังอินสแตนซ์คลาวด์ใหม่และใช้อินสแตนซ์นั้นเป็นเซิร์ฟเวอร์ Redis ใหม่ของฉัน ถ้าเป็น MySQL ฉันจะส่งออกฐานข้อมูลจากเซิร์ฟเวอร์เก่าและนำเข้าสู่เซิร์ฟเวอร์ใหม่ ฉันจะทำเช่นนี้กับ redis ได้อย่างไร PS: ฉันไม่ต้องการตั้งค่าการจำลองแบบ ฉันต้องการย้ายเซิร์ฟเวอร์ Redis ไปยังอินสแตนซ์ใหม่อย่างสมบูรณ์

29
ปฏิเสธการเข้าถึงสำหรับผู้ใช้ 'homestead' @ 'localhost' (ใช้รหัสผ่าน: YES)
ฉันใช้ Mac OS Yosemite โดยใช้ Laravel 5.0 ในขณะที่อยู่ในสภาพแวดล้อมท้องถิ่นของฉันฉันเรียกใช้php artisan migrateฉันได้รับ: ปฏิเสธการเข้าถึงสำหรับผู้ใช้ 'homestead' @ 'localhost' (ใช้รหัสผ่าน: YES) องค์ประกอบ นี่คือ. envของฉัน APP_ENV=local APP_DEBUG=true APP_KEY=***** DB_HOST=localhost DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret แอปพลิเค \ Config \ database.php 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'homestead'), 'username' => env('DB_USERNAME', 'homestead'), 'password' …

23
ฉันจะคัดลอกฐานข้อมูล SQL Azure ไปยังเซิร์ฟเวอร์การพัฒนาในพื้นที่ได้อย่างไร
ไม่มีใครรู้ว่าฉันสามารถคัดลอกฐานข้อมูล SQL Azure ไปยังเครื่องพัฒนาของฉันได้อย่างไร ฉันต้องการหยุดจ่ายเพื่อให้มีฐานข้อมูลการพัฒนาในระบบคลาวด์ แต่เป็นวิธีที่ดีที่สุดในการรับข้อมูลการผลิต ฉันคัดลอกฐานข้อมูลการผลิตของฉันไปยังฐานข้อมูลการพัฒนาใหม่ แต่ฉันต้องการมีฐานข้อมูลเดียวกันนั้น ข้อเสนอแนะใด ๆ

11
Sequelize.js: วิธีใช้การย้ายข้อมูลและการซิงค์
ฉันใกล้จะมีโครงการของฉันพร้อมที่จะเปิดตัวแล้ว ฉันมีแผนใหญ่สำหรับหลังการเปิดตัวและโครงสร้างฐานข้อมูลกำลังจะเปลี่ยนไป - คอลัมน์ใหม่ในตารางที่มีอยู่รวมถึงตารางใหม่และการเชื่อมโยงใหม่กับโมเดลที่มีอยู่และแบบใหม่ ฉันยังไม่ได้แตะการย้ายข้อมูลใน Sequelize เนื่องจากฉันมีเพียงการทดสอบข้อมูลซึ่งฉันไม่คิดจะลบทุกครั้งที่ฐานข้อมูลเปลี่ยนแปลง ด้วยเหตุนี้ในตอนนี้ฉันกำลังทำงานsync force: trueเมื่อแอปของฉันเริ่มทำงานหากฉันเปลี่ยนข้อกำหนดของโมเดล การดำเนินการนี้จะลบตารางทั้งหมดและสร้างขึ้นใหม่ตั้งแต่ต้น ฉันสามารถละเว้นforceตัวเลือกเพื่อให้สร้างตารางใหม่เท่านั้น แต่ถ้าสิ่งที่มีอยู่มีการเปลี่ยนแปลงสิ่งนี้ก็ไม่มีประโยชน์ เมื่อฉันเพิ่มในการโยกย้ายสิ่งต่างๆทำงานอย่างไร เห็นได้ชัดว่าฉันไม่ต้องการให้ตารางที่มีอยู่ (ที่มีข้อมูลอยู่ในนั้น) ถูกลบออกดังนั้นจึงsync force: trueไม่ต้องสงสัยเลย ในแอปอื่น ๆ ที่ฉันได้ช่วยพัฒนา (Laravel และเฟรมเวิร์กอื่น ๆ ) ซึ่งเป็นส่วนหนึ่งของขั้นตอนการปรับใช้ของแอปเราเรียกใช้คำสั่งโยกย้ายเพื่อเรียกใช้การย้ายข้อมูลที่รอดำเนินการ แต่ในแอปเหล่านี้การย้ายข้อมูลครั้งแรกจะมีฐานข้อมูลโครงกระดูกโดยฐานข้อมูลอยู่ในสถานะที่เป็นช่วงต้นของการพัฒนาไม่ว่าจะเป็นรุ่นอัลฟ่ารุ่นแรกหรืออะไรก็ตาม ดังนั้นแม้แต่อินสแตนซ์ของแอปที่ไปปาร์ตี้ช้าก็สามารถเร่งความเร็วได้ในคราวเดียวโดยเรียกใช้การย้ายข้อมูลทั้งหมดตามลำดับ ฉันจะสร้าง "การย้ายครั้งแรก" ใน Sequelize ได้อย่างไร หากฉันไม่มีอินสแตนซ์ใหม่ของแอปในทางที่ผิดจะไม่มีฐานข้อมูลโครงกระดูกให้เรียกใช้การย้ายข้อมูลหรือจะเรียกใช้การซิงค์เมื่อเริ่มต้นและจะทำให้ฐานข้อมูลอยู่ในสถานะใหม่ทั้งหมด ตารางใหม่เป็นต้น แต่เมื่อพยายามเรียกใช้การย้ายข้อมูลพวกเขาจะไม่สมเหตุสมผลเนื่องจากถูกเขียนด้วยฐานข้อมูลดั้งเดิมและการทำซ้ำแต่ละครั้งจะอยู่ในใจ กระบวนการคิดของฉัน: ในทุกขั้นตอนฐานข้อมูลเริ่มต้นบวกกับการโยกย้ายแต่ละครั้งตามลำดับควรเท่ากับ (บวกหรือลบข้อมูล) ฐานข้อมูลที่สร้างขึ้นเมื่อ sync force: trueกำลังทำงานอยู่ เนื่องจากคำอธิบายแบบจำลองในรหัสอธิบายโครงสร้างฐานข้อมูล ดังนั้นบางทีถ้าไม่มีตารางการย้ายข้อมูลเราก็แค่เรียกใช้การซิงค์และทำเครื่องหมายการย้ายข้อมูลทั้งหมดว่าเสร็จสิ้นแม้ว่าจะไม่ได้ทำงานก็ตาม นี่คือสิ่งที่ฉันต้องทำ (อย่างไร) หรือ Sequelize …

2
Rails Migration: ลบข้อ จำกัด
ฉันมีตารางในแอปพลิเคชั่น Rails ซึ่ง (ใน schema.rb) ดูเหมือนว่า: create_table "users", :force => true do |t| t.string "name", :null=>false t.string "address", :null=>false end ฉันต้องการเขียนการโยกย้ายรางเพื่อให้มีค่า Null สำหรับช่องที่อยู่ นั่นคือหลังจากการโยกย้ายตารางจะมีลักษณะเช่นนี้: create_table "users", :force => true do |t| t.string "name", :null=>false t.string "address" end ฉันต้องทำอะไรเพื่อลบข้อ จำกัด

4
ทำให้คอลัมน์ไม่เป็นโมฆะในการย้าย Laravel
ฉันกำลังเขียนการย้ายข้อมูลเพื่อสร้างคอลัมน์บางคอลัมน์ในตารางnullableในขณะนี้ สำหรับฟังก์ชั่น down ฉันต้องการสร้างคอลัมน์เหล่านั้นnot nullableอีกครั้งแน่นอน ฉันดูเอกสารตัวสร้างสคีมาแต่ไม่เห็นวิธีดำเนินการนี้ ความช่วยเหลือใด ๆ จะได้รับการชื่นชม

7
ฉันจะเปิดใช้งานการโอนย้าย EF สำหรับหลายบริบทเพื่อแยกฐานข้อมูลได้อย่างไร
ฉันจะเปิดใช้งานการโอนย้าย Entity Framework 5 (เวอร์ชัน 5.0.0) สำหรับบริบท DB หลายรายการในโครงการเดียวกันได้อย่างไรโดยที่แต่ละบริบทสอดคล้องกับฐานข้อมูลของตนเอง เมื่อฉันรันEnable-Migrationsในคอนโซล PM (Visual Studio 2012) มีข้อผิดพลาดเนื่องจากมีหลายบริบท: PM> Enable-Migrations More than one context type was found in the assembly 'DatabaseService'. To enable migrations for DatabaseService.Models.Product1DbContext, use Enable-Migrations -ContextTypeName DatabaseService.Models.Product1DbContext. To enable migrations for DatabaseService.Models.Product2DbContext, use Enable-Migrations -ContextTypeName DatabaseService.Models.Product2DbContext. หากฉันเรียกใช้Enable-Migrations -ContextTypeName DatabaseService.Models.Product1DbContextฉันไม่ได้รับอนุญาตให้เรียกใช้Enable-Migrations -ContextTypeName …

6
การย้ายฐานข้อมูลห้องหากมีการเพิ่มตารางใหม่เท่านั้น
อย่าถือว่าฉันมีฐานข้อมูลห้องแบบธรรมดา: @Database(entities = {User.class}, version = 1) abstract class AppDatabase extends RoomDatabase { public abstract Dao getDao(); } ตอนนี้ฉันกำลังเพิ่มเอนทิตีใหม่: Petและเวอร์ชันที่ถูกกระแทกเป็น 2: @Database(entities = {User.class, Pet.class}, version = 2) abstract class AppDatabase extends RoomDatabase { public abstract Dao getDao(); } แน่นอนว่า Room มีข้อยกเว้น: java.lang.IllegalStateException: A migration from 1 to 2 is …

5
การวางคอลัมน์ที่มีข้อผิดพลาด Laravel ของคีย์ต่างประเทศ: ข้อผิดพลาดทั่วไป: 1025 ข้อผิดพลาดในการเปลี่ยนชื่อ
ฉันได้สร้างตารางโดยใช้การโยกย้ายดังนี้: public function up() { Schema::create('despatch_discrepancies', function($table) { $table->increments('id')->unsigned(); $table->integer('pick_id')->unsigned(); $table->foreign('pick_id')->references('id')->on('picks'); $table->integer('pick_detail_id')->unsigned(); $table->foreign('pick_detail_id')->references('id')->on('pick_details'); $table->integer('original_qty')->unsigned(); $table->integer('shipped_qty')->unsigned(); }); } public function down() { Schema::drop('despatch_discrepancies'); } ฉันต้องการเปลี่ยนตารางนี้และวางการอ้างอิงและคอลัมน์ Foreign Key pick_detail_idและเพิ่มคอลัมน์ varchar ใหม่ที่เรียกว่าskuafter pick_idcolumn ฉันได้สร้างการย้ายข้อมูลอีกครั้งซึ่งมีลักษณะดังนี้: public function up() { Schema::table('despatch_discrepancies', function($table) { $table->dropForeign('pick_detail_id'); $table->dropColumn('pick_detail_id'); $table->string('sku', 20)->after('pick_id'); }); } public function down() { Schema::table('despatch_discrepancies', function($table) …

9
Ruby on Rails: ฉันจะเปลี่ยนการย้ายข้อมูลด้วย rake db: migrate ได้อย่างไร
หลังจากติดตั้งอุปกรณ์ MODEL User ฉันได้รับสิ่งนี้ class DeviseCreateUsers < ActiveRecord::Migration def self.up create_table(:users) do |t| t.database_authenticatable :null => false t.recoverable t.rememberable t.trackable # t.encryptable # t.confirmable # t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both # t.token_authenticatable t.timestamps end add_index :users, :email, :unique => true add_index :users, :reset_password_token, :unique => true # add_index …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.