首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

删除数据库指定名称存储过程

数据库某个表A,因为业务原因被移到别的库。麻烦是,有几张子表(B, C, D等)建有指向它,而且创建没有指定统一键名。...如此一来,不同环境(开发、测试、生产等)名称不一样,必须逐个去查询键名再进行删除,十分不便。...为此,特地编写了一个存储过程,只须指定子表名(B,C,D)和列名,直接调用该存储过程即可。...Oracle存储过程代码如下: -- 删除指定表、指定列上(系统命名或未知名) CREATE OR REPLACE PROCEDURE DROP_FK(P_TABLE IN VARCHAR2,...: -- 删除指定表、指定列上(系统命名或未知名) CREATE OR REPLACE FUNCTION DROP_FK(P_TABLE IN VARCHAR, P_COLUMN IN VARCHAR

1.3K10

django admin配置搜索域是一个处理方法

,要注明哪个字段,双下划线 list_display = ('book', 'category') # 页面上显示字段,若不设置则显示 models.py __unicode__(self...系统搜索可能会出现“related Field has invalid lookup: icontains”错误,主要原因是查询是需要指定相应字段。...不应该只是一个model,而该是另一个表明确一个字段。 所以我们需要指定特定字段 “本表字段__所在表需查询字段”。...补充知识:Djangomodel中使用,但在页面上显示是xxx_object?...admin配置搜索域是一个处理方法就是小编分享给大家全部内容了,希望能给大家一个参考。

3.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

Laravel创建数据库表结构例子

:migration add_votes_to_users_table –table=users 如果你想要指定生成迁移自定义输出路径,执行make:migration命令可以使用–path选项...drop或dropIfExists方法: Schema::drop('users'); Schema::dropIfExists('users'); 通过重命名表 重命名表之前,需要验证该表包含迁移文件中有明确名字...你甚至可以传递列名数组到索引方法来创建组合索引: $table- index(['account_id', 'created_at']); Laravel 会自动生成合理索引名称,但是你可以传递第二个参数到该方法用于指定索引名称...(‘cascade'); 要删除一个,可以使用dropForeign方法。...约束和索引使用同样命名规则——连接表名、键名然后加上“_foreign”后缀: $table- dropForeign(‘posts_user_id_foreign'); 或者,你还可以传递删除时会自动使用基于惯例约束名数值数组

5.5K21

Laravel 通过迁移文件定义数据表结构

创建迁移文件 正如我们 Artisan 命令中所提到Laravel 提供了一个 Artisan 命令 make:migration 帮助我们快速生成数据库迁移文件,该命名包含一个参数,就是要创建迁移名称...此外,这个 Artisan 命令还支持两个可选选项,--create= 用于指定要创建数据表名称,以及 --table= 用于指定要修改数据表名称,前者定义创建数据表迁移文件使用,后者定义更新数据表迁移文件使用...迁移,如果我们想建立文章表 user_id 字段与用户表 id 之间关联关系,可以通过这种方式来定义索引来实现: $table->foreign('user_id')->references...('id')->on('users'); 如果你还想进一步指定约束(级联删除和更新,比如我们删除了 users 表某个 id 对应记录,那么其文章表对应 user_id 所有文章会被删除...'); 注:不推荐使用,更不要使用约束功能,因为影响数据库性能,而且级联删除有可能造成非常严重无法挽回后果。

2.1K20

还得再来聊聊Laravel对多对模型一些事

目前需求是信息表里面的多个信息可能同属于来源表一条记录。 同样,来源表多条信息可能属于信心表一条记录。 简言之就是,这是多对多关系。 细节 新建迁移文件就不说了。...我想说重点是: 1、来源表和信息表可以没有任何约束,意思就是说各建各,不用考虑什么。 2、这两表没有任何关联,如果还要产生关系,那么就要第三张表来帮他们建立联系。...重点是第三张表,第三张表最少需要2个字段:即两张表 ? 注意: 1、你想要有其他字段也行,我们这里讨论最简单情况。 2、第三张表命名有要求,主要是Laravel默认情况关系。...当然,搞不懂默认关系,我们模型关联时候指定表明就行。...至于能不能传入其他参数,或者有没有其他类似attach作用方法,我翻遍中文文档和百度,愣是没搞明白。 2、attach要使用,要在模型定义关联。 ?

1.6K00

Laravel学习记录--数据库迁移

laravel 数据库迁移 数据迁移文件存放在database/migrations 特点:可进行版本回退,便于团队开发 通过数据迁移文件创建表 1 创建数据库 配置.env文件选择数据库 DB_CONNECTION...此时数据库并没有生成数据表c.我们需要编辑迁移文件,设置相应字段 使用 php artisan migrate 成功生成表 数据库迁移文件 在这个文件有 up/...$tanle->float('price');//dounble(); $tanble->timestamps();//更新时间/创建时间 注意:在生成过程如果报错长度不够 需app/providers...数据表名称_字段_foreign 删除外 dropForeign('键名') 开启/关闭约束 Schema::enableForeignKeyConstraints() Schema...//唯一索引 定义字段完成后创建索引 $table->unique('name'); 传递数组创建复合/合成索引 $table->index(['id','time'],rname) rname可选指定索引名称

1K20

Laravel企业级项目中使用Laravel框架工厂状态下页面方法 Code Verifier以及错误处理

例如,如果我们正在开发音乐管理应用程序,我们可能需要一个公共方法应用程序创建列表,而不是重写在每个页面和测试类创建播放列表逻辑。...如有必要,可以显式指定要操作关系名称: $users = User::factory() ->has(Post::factory()->count(3), 'posts...要在应用程序任何位置生成这样响应,可以使用如下abort()方法。 <!...1使用名称来替换应用程序,而<handler class>使用处理程序类名称创建事件类名称。...在此数组,我们需要添加事件类作为,添加事件处理程序类作为其值。 步骤4-触发事件。 最后一步是使用事件外观触发事件。fire()方法由事件类对象调用。

1.8K20

3分钟短文:书接上回,Laravel数据库迁移那些个小技巧

引言 使用laravel数据库迁移功能进行表创建,和迁移回滚之后,我们继续说说设计 表结构更改之后处理。以及如何为数据库填充一些伪数据作为测试。...然后使用迁移指令 php artisan migrate 就可以应用这些改变了。 很多时候,并不是说我们创建了表,并且指定了字段名,和字段数据类型就算完事儿了。...我们需要空与非空约束,默认值约束,主键约束,约束等等数据库所具有的特性, 这才是关系型数据库魅力。...指定迁移开始和回滚所要执行动作, 我们仅仅是添加一个字段,或者回滚时候,删除一个字段,代码如下图: [pic] 完成后命令行执行迁移指令: php artisan migrate 输出结果如下:...迁移指令也允许我们指定某个追加字段位于某个列之后: $table->boolean('enabled')->after('name'); 迁移状态 查看当前数据库迁移状态,会让我们查看创建迁移文件哪些被应用了

1.7K30

Laravel学习记录--Model

'//指定主键 laravel默认添加数据库,会 增加两个字段 create_at ,update_at 如不需要这两个字段,除迁移文件删除之外 还需model类设置属性 public $timestamps...,如果不指定本例按照默认拼接规则为 当前模型类名_id;这里就是(Countrie_id)secondKey:中间模型类与关联模型类关联,如果不指定本例按照默认拼接规则为关联模型类_id...relatedPivotKey,$parentKey,$relatedKey) $relate·:关联模型类 $name:关联名称定义数据库迁移时通过morphs指定名称一致 $table:中间表名称...,$relatedKey,$inverse) $relate·:关联模型类 $name:关联名称定义数据库迁移时通过morphs指定名称一致 $table:中间表名称,默认为$name复数形式...空对象模型 如果字段uid允许为空,当我们访问Phone模型上muser属性(注意这里是属性,而不是方法,默认返回null,Eloquent允许我们为这种空对象定义一个默认类型,这个对象类型定义关联指定

13.4K20

Laravel多对多关系详解【文章 - 标签】

可以定义时候设置,但何必那么麻烦,按照默认规则来不是很好么? 另外就是,新建迁移文件顺序也有要求,关系表肯定是最后,然后文章表和标签表好像随意,但我是先建文章表。...这里有,但是是其他,不关我们这里要讲。 新建标签表 php artisan make:model Model/Tag -m 我是新建模型时候就顺带穿件迁移表了。 ?...foreign() references():参照字段 on():参照表 onDelete():删除执行动作 这里是跟着删除,比如删除了某篇文章,我们将article_tag...我们使用 $this->belongsToMany() 来表明Eloquent关系,这里需要注意是如果你并不是 article_id 和 tag_id ,你需要在第三个参数进行设置,写成类似下面这样...而正在写法是: $article->tags()->attach($tags); 传入$tags 不是名称,而是tag表id,可以是数组 ????而我不能在新建文章直接输入标签名???? ?

1.8K00

Laravel 模型关联基础教程详解

Laravel 定义模型关联是每个 Laravel 开发者可能已经做过不止一次事情。但是试图实现关联可能会遇到各种问题。因为 Laravel 有各种各样关联,你应该选择哪一个?...我们通过 hasOne 方法告诉 Laravel User 模型有一个 Passport 。 注意: 所有用于定义关联方法都有可选额外参数,你可以在这些参数定义本地。...默认情况下,Laravel会假设你在用户模型定义了 passport_id ,因为你试图创建与 passport 模型关联。创建迁移文件也请注意这一点!... Passport 模型,我们需要定义逆向关联。我们要让 Passport 模型知道它属于 User 模型。我们可以使用 belongsTo 方法来实现这一点。 <?...你可以通过创建迁移文件 Laravel 创建此中间表。 远程关联 远程一对一 has one through 关联通过单个中间关联模型实现。

5.5K31

LaravelLumen 使用 redis队列

要生成创建这些表迁移,可以项目目录下运行 Artisan 命令 queue:table,迁移被创建之后,可以使用 migrate 命令生成这些表: php artisan queue:table php...* * @var int */ public $timeout = 120; } 6、基于时间尝试次数 除了定义在任务失败前最大尝试次数,还可以定义指定时间内允许任务最大尝试次数...该功能特性队列任务与有频率限制 API 交互很有帮助,例如,通过 throttle 方法,你可以限定给定类型任务每 60 秒只运行 10 次。...return $this->release(10); }); 注:在上面的例子,上面的方法可能无法找到,但是直接复制即可使用(具体还不清楚,知道大神可以留言指教)。...8、最大进程数量 除此之外,还可以指定可以同时处理给定任务最大进程数量。这个功能在队列任务正在编辑一次只能由一个任务进行处理资源很有用。

2.3K20

3分钟短文:说说Laravel模型还算常用2个“关系”

引言 上一章我们介绍了比较简单laravel模型关联关系一对一,介绍了关联操作方法。...代码中使用该关联关系: $email = Profile::where('id', 3)->first()->user->email; 其中first方法返回一个Profile模型对象实例,Profile...我们说关联关系需要,所以需要手动events表内追加一个字段 state_id,用于指向刚才创建表statesid字段。...比如创建事件,手动为其指定状态: $event = new Event; $event->name = "Laravel Hacking and Pizza"; $event->state_id =...写在最后 本文不失简单地介绍了belongsTo和hasMany两个关联关系,这在代码仅次于hasOne关系, 使用频次比较高。而效率也就是根据多查询一次SQL消耗而已。

2.1K31

Laravel5.1 框架模型一对一关系实现与使用方法实例分析

本文实例讲述了Laravel5.1 框架模型一对一关系实现与使用方法。分享给大家供大家参考,具体如下: 这篇文章主要记录模型一对一关系,关联关系是Model一种非常方便功能。...1.1.1 用户信息表 生成模型和迁移文件: php artisan make:model UserInfo -m 编写迁移文件(表规格): public function up() {...如果省略了第二个和第三个参数的话 Laravel根据方法名自动填充,会把第二个参数填充成 “user_id” 第三个参数填充 “id”,但是我们现在必须这样写,因为我自定义是user_info_id...如果Laravel自动填充的话是找不到这个 所以我们要手动添加下。...belongsTo第二个参数是 Account这个模型要用’user_info_id’去关联UserInfo模型。

1.4K10

laravel 学习之路 数据库操作 数据插入与数据填充

是优雅框架这么做跟 laravel 优雅不符,所有 laravel 必定准备了其他方法,下面学下填充就是向数据库批量添加数据,简单概述下就是 数据库迁移+数据填充 = SQL 我们先来看看官网介绍...可以看到里面有个 run 方法这个方法会在执行 db:seed 这个 Artisan 命令 被调用,利用 DB 方法写上要填充内容,你也可以用 查询构造器 或 Eloquent 模型工厂 来手动插入数据...,我们会创建很多填充文件如果有的话执行顺序不对是会报错所以需要严格自己指定顺序,OK我们执行一下 php artisan db:seed 命令 ?...数据终于写入数据库中了,当然 官方文档 也给出了其他方式运行比如可以使用 --class 选项来指定一个特定 seeder 类。...这个命令可以用来重建数据库 php artisan migrate:refresh --seed 另外在生产环境强制使用一些填充操作可能会导致原有数据更新或丢失。

2.5K20

Laravel Eloquent 模型关联关系详解(上)

你可能注意到了我们定义关联关系,仅仅指定了模型类名,并没有指定通过哪些数据表字段建立关联,这并不是说 Laravel 神通广大,能知过去未来之事,而是因为 Eloquent 对此做了默认约定。...,第二个参数是关联模型类所属表,这里对应是 user_profiles 表 user_id 字段,第三个参数是关联表关联到当前模型所属表哪个字段,这里对应是 users 表 id...第二个参数是当前模型类所属表本例是 user_profiles 表 user_id 字段,拼接规则和 hasOne 那里类似,只不过这里是基于第四个参数关联关系名称 $relation:...$instance->getKeyName(); } $relation 默认约定是对应关联关系方法名,这里是 user。如果你这里定义方法名不是 user,则需要手动指定参数。...第四个参数 relatedPivotKey 是中间表当前关联模型类,拼接规则和 foreignPivotKey 一样,只不过作用于关联模型类,所以本例是 tags 表 tag_id 字段。

9.8K40
领券