我的iPhone应用程序将具有只读 "系统"数据和读/写 "用户"数据(使用Core Data或自定义SQLite数据库存储).用户数据可以参考系统数据.安装新版本的应用程序时(例如,通过iTunes):
问题:如何使用Core Data完成此类迁移?这可行吗?
例如,假设我的应用程序用于管理食谱.
当用户升级到新版本的应用程序时,我们希望保留用户评论,并尝试将它们与新的"官方"配方集中的匹配食谱重新关联.核心数据是否可行/可行?或许我应该使用简单的"数据库"解决方案(例如,SQLite和传统的创建/读取/更新/删除操作)?
谢谢!
我是数据迁移领域的新手,并研究如何使用OurApp 1.0将客户数据迁移到具有与OurApp 2.0兼容的模式的新数据库.我见过不止一些人推荐Liquibase用于数据库更改管理和数据库重构任务,这对我的新手来说听起来可能接近我们需要的东西.
但是,在阅读www.liquibase.org上的资料后,我感觉Liquibase更多的是保持模式最新,而不是转换大量现有数据,以便它可以保留在新模式中.
假设我想将名为name的Employee表中的列拆分为firstname和lastname列.Liquibase可以通过删除name列并添加firstname和lastname列来更改表.但是,我觉得Liquibase并不是真正为我构建的插入转换代码,它将数据库中现有记录的名称字段解析为firstname和lastname,并将它们存储在各自的列中.
例如,假设我的桌子看起来像这样
id | name | position
*********************************
12 Horace Slughorn Professor
13 Albus Dumbledore Headmaster
Run Code Online (Sandbox Code Playgroud)
运行Liquibase之后,name列将被firstname和lastname列替换,因此我的数据库模式将是正确的.但我猜Liquibase不是一个框架,它允许我插入一些代码,将"Horace Slughorn"解析为"Horace"和"Slughorn",并将这些值存储在该记录的firstname和lastname列中.
id | firstname | lastname | position
*****************************************
12 Horace Slughorn Professor
13 Albus Dumbledore Headmaster
Run Code Online (Sandbox Code Playgroud)
因此,Liquibase使您的架构保持最新,但不是为了帮助您转换现有数据以使其与新架构匹配.是对的吗?
我希望将一些表中的一些数据迁移到这些新的THREE表中.
这是我的目标架构:

请注意,我需要插入第一Location台..抢SCOPE_IDENTITY()..然后将行入Boundary和Country表格.
这SCOPE_IDENTITY()是杀了我:(意思是,我只能看到一种方法来做到这一点CURSORS.有没有更好的选择?
这是DB Schema的脚本....
地点
CREATE TABLE [dbo].[Locations](
[LocationId] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[OriginalLocationId] [int] NOT NULL,
CONSTRAINT [PK_Locations] PRIMARY KEY CLUSTERED
(
[LocationId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
)
Run Code Online (Sandbox Code Playgroud)
国家
CREATE TABLE [dbo].[Locations_Country](
[IsoCode] [nchar](2) NOT NULL,
[LocationId] [int] NOT NULL,
CONSTRAINT [PK_Locations_Country] PRIMARY KEY CLUSTERED …Run Code Online (Sandbox Code Playgroud) 我必须运行一个抓取任务来收集我的App Engine(Java)应用程序的数据.
我不确定哪个最好 - 在应用程序在生产环境中运行时,在开发模式下抓取数据并将其上传到prod或scrape.
这有什么不同吗?
将大量数据从一个环境带到另一个环境(dev->prod或prod->dev)是否有任何困难?
我在理解Ruby on Rails中的迁移时遇到了一些麻烦.我的应用程序db\migrate\目录中有以下两个类(存储在单独的文件中):
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name
t.string :email
t.timestamps
end
end
def self.down
drop_table :users
end
end
class AddEmailUniquenessIndex < ActiveRecord::Migration
def self.up
add_index :users, :email, :unique => true
end
def self.down
remove_index :users, :email
end
end
Run Code Online (Sandbox Code Playgroud)
我很困惑这两个文件似乎是如何一起运行的.在创建第二个类时,Michael Hartl的书说"我们可以编辑用户表的迁移文件,但这需要回滚然后再迁移.Rails方法是每当我们发现我们的数据模型需要时使用迁移改变." 这些迁移实际上如何运作?迁移数据库时是否运行目录中的所有文件?就像这里的幕后情况一样?
我有两个SQL Server数据库A和B.
它们都包含一个名为表Users与列name,Age,Salary
我想编写一个脚本来将Users数据库A插入数据库B(如果它们尚未存在的话Name)
基本上我在SQL脚本中需要这个:
Foreach (UserA in DatabaseA.Users)
If UserA.Name does not exist in DatabaseB.Users
Insert UserA in DatabaseB.Users
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助
我已经在我的实体框架项目上启用了代码优先迁移,并添加了一些迁移,这些迁移执行重命名表等操作.但是,我现在已经删除了数据库并导致实体框架根据我的最新数据模型生成一个全新的数据库.如果我尝试运行:
PM> Add-Migration TestMigration
Run Code Online (Sandbox Code Playgroud)
...它告诉我,我需要先应用现有的迁移.所以我跑:
PM> Update-Database
Run Code Online (Sandbox Code Playgroud)
...但问题是它正在尝试更新不需要更新的数据库; 它已经基于最新的数据模型.因此,当我尝试重命名现在不存在的表时,我收到错误.
我是否可以通过某种方式向数据迁移指出我的数据库是最新的并且不需要在其上运行任何迁移?我该怎么办?
sql-server data-migration entity-framework ef-code-first ef-migrations
如果您使用无模式数据库(特别是面向文档的数据库,如CouchDB,Couchbase,MongoDB)并希望更改特定对象的数据表示格式,则可以保留旧格式的现有记录并以新格式创建新记录.它被宣布为无模式数据库的主要优势之一(我认为因为你可以避免停机).另一方面,处理同类数据的许多格式是不方便和低效的.那么在无模式数据库中将数据从一种格式迁移到另一种格式的好方法/策略是什么?
data-migration document-oriented-db schemaless nosql couchbase
Invalid source server details were specified for the migration.
Validator 'Microsoft.SqlServer.Migration.Core.Validators.SupportedDatabaseEnvironmentValidator' failed to validate data.
A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.)
The certificate chain was issued by an authority that is not trusted
Run Code Online (Sandbox Code Playgroud)
我是Azure新手,希望从我的计算机数据库迁移到azure.
我auth.Group想从模型创建一个代理模型,我想将其应用于permissions它。
代理
class InstitutionOwnerGroup(Group):
# Gestores
pk = 1
is_superuser = False
is_staff = False
class Meta:
proxy = True
permissions = (
('can_manage_institutions', 'Gerencia Instituições'),
)
Run Code Online (Sandbox Code Playgroud)
数据迁移
# Generated by Django 2.1.1 on 2018-10-14 23:30
from django.db import migrations
from horsy.apps.accounts.proxies import InstitutionOwnerGroup
def create_owner_group(app, _schema):
InstitutionOwnerGroup.objects.create(
name="Gestores"
)
class Migration(migrations.Migration):
dependencies = [
('accounts', '0002_add_admin_user'),
]
operations = [
migrations.RunPython(create_owner_group)
]
Run Code Online (Sandbox Code Playgroud)
管理面板中的Gestores模型:
给定的权限can_manage_institutions未应用于数据迁移中的模型。
如何通过使用django权限系统将权限应用于继承自的代理模型auth.Group?
data-migration ×10
database ×2
sql ×2
sql-server ×2
azure ×1
core-data ×1
couchbase ×1
django ×1
iphone ×1
java ×1
liquibase ×1
model ×1
nosql ×1
python ×1
ruby ×1
schemaless ×1
t-sql ×1
web-scraping ×1