草庐IT

oracle迁移Oracle

全部标签

php - 使用 Laravel 迁移创建外键时出现 MySQL 错误

我设置了一个Laravel应用程序,我正在使用Sentry2用于用户身份验证。我有一个名为Post的模型以及默认哨兵User表。我想让一个用户有很多帖子,一个帖子属于一个用户。为了在我的数据库模式中反射(reflect)这一点,我需要在posts和users之间创建一个外键约束。我编写的迁移如下:publicfunctionup(){Schema::table('posts',function(Blueprint$table){$table->integer('user_id')->after('id')->nullable();$table->foreign('user_id')->

php - 完全重置 Laravel 5 迁移内容?

长话短说,我在本地机器上完全搞砸了我的Laravel迁移。它们100%无法使用。我是第一次使用Laravel5,所以可以这么说,我只是在捣乱和试水。在手动修改数据库、重写我的迁移、不小心删除一两个表(然后是“迁移”表本身[doh!])之间,我处于这种困惑状态,我只想开始所有的从头开始迁移东西。但是,我似乎不知道该怎么做。我目前处于无法做任何事的状态。例如,如果在我执行phpartisanmigrate:refresh时旧表的任何残余仍在数据库中,我会得到一个Basetableorviewalreadyexists错误信息。但是,如果我删除所有表,则会出现此错误:Nextexceptio

mysql - 模式迁移 : one-to-many, PostgreSQL 中的多对多

背景在MySQL中,我需要用两个表对一对多建模,用三个表对多对多建模,如果我想保留标准化表格。我正在研究向PostgreSQL的迁移,令人惊讶的是,它允许向量甚至多维向量字段!问题PostgreSQL中一对多和多对多的规范映射是什么?一对多是否只是一个带有向量字段的表?是否有规范的多对多建模方式,还是取决于具体情况(比如我需要如何查询)?使用数组字段有什么注意事项吗? 最佳答案 在PostgreSQL中,您通常应该坚持关系建模,就像您目前在MySQL中使用的那样。PostgreSQL的数组很有用,但出于多种原因不应该成为您数据建模的

mysql - Laravel 迁移语法错误或访问冲突 1064

当我运行迁移以创建外键约束时,我在命令提示符中收到以下错误。我需要帮助来克服它,因为我在互联网上搜索了很多并尝试了各种方法,但不幸的是没有一个有效在Connection.php第647行:SQLSTATE[42000]:语法错误或访问冲突:1064你有一个错误我n你的SQL语法;查看与您的MariaDB服务器对应的手册在第1行(SQL:altertablecategory_posts添加约束category_posts_post_id_foreign外键(post_id)引用posts()ondeletecascade)在Connection.php第445行:SQLSTATE[420

mysql - Entity Framework 迁移 "Table does not exist"

我是EntityFramework的新手,我从我在mysqlworkbench中创建的Mysql数据库的逆向工程创建了我的实体,然后我在我的实体中添加了一些外键,然后我添加了一个迁移并尝试更新我的数据库但是发生错误,它表示:“表‘pidev.pidev.personal’不存在”。“pidev”是我的数据库的名称。personal是另外两个子类“candiadte”和“employee”的父类(superclass),我使用TPH作为继承策略。PLZ我需要一些帮助。 最佳答案 谢谢大家的回复,我解决了迁移文件中UP()和DOWN()

MySQL 到 SQL Server 迁移

我有一个mysql数据库,里面装满了我需要保留但迁移到SQLServer2008的数据。我知道端到端、表到表的数据应该去哪里,但我不知道如何移动数据。我浏览了整个网络,但似乎有您必须下载并运行的“解决方案”。如果可能的话,我宁愿自己动手编写脚本或代码。有人可以推荐最好的方法吗? 最佳答案 这里有几个选项:在sql服务器端,您可以使用称为linkedserver的东西建立与旧mysql数据库的连接。.这将允许您为从mysql表返回数据的sqlserver编写sql代码。您可以使用它来构建INSERT或SELECTINTO语句。您可以为

sql - 将 MS SQL 脚本转换为 Mysql 和 Oracle

我开发的其中一个应用程序在客户站点本地安装。这意味着我们必须支持MySQL、MSSQL和Oracle,因为并非所有客户都使用相同的数据库引擎。我正在为应用程序编写补丁,其中一部分涉及执行5000行的sql脚本以对数据库进行修改。该脚本是使用MSSQL语法编写的,但是我想知道是否有一个应用程序可以自动将MSSQL语法转换为Oracle和/或MySQL的语法,从而使我不必手动执行此操作。 最佳答案 这是一个老话题,但我建议使用以下工具:http://www.sqlines.com/online.我有很好的使用体验。自3个月前(当我开始使

php - Laravel 不会让我迁移表,因为它已经存在

我正在尝试使用LaravelMigration来创建SQL表,但它不允许我这样做。这里是错误:SQLSTATE[42S01]:Basetableorviewalreadyexists:1050Table'mytable'alreadyexists这是我的代码:Schema::create('mytable',function(Blueprint$table){$table->increments('id');$table->foreign('othertable_id')->references('id')->on('othertable')->onDelete('cascade');

mysql - postgreSQL mysql oracle 差异

我必须开始构建数据库项目的架构,但我真的不知道引擎之间的区别。谁能解释一下这三种引擎各自的优缺点?我们必须从中选择一个,而我对它们的唯一了解是:Mysql和Postgres:免费但不如oracleMysql作为安全问题(这是真的吗?)甲骨文:世界上最好的数据库引擎贵有人可以清除它们之间的其他差异吗?这是一个低预算的中/大型(我们考虑大约100到200table)项目,您会选择什么?预算更高? 最佳答案 几年前我不得不写一个翻译引擎;你给它提供一组sql,它翻译成当前连接引擎的方言。我的引擎适用于Postgres(又名PostgreS

php - Lumen 5.6 迁移错误指定的 key 太长最大 key 长度为 767 字节

我使用Lumen5.6和mysql。当我输入“phpartisanmigrate”时出现以下错误:SQLSTATE[42000]:Syntaxerrororaccessviolation:1071Specifiedkeywastoolong;maxkeylengthis767bytes(SQL:altertable`users`addunique`users_email_unique`(`email`))我将以下代码放入AppServiceProvider的“boot”方法中Schema::defaultStringLength(191);但我没有取得任何成功。