标签: database-schema

如何在GitHub上包含MySQL数据库架构?

Stackoverflow和MySQL-via-command-line n00b在这里,请温柔!我一直在寻找我的问题的答案,但只能通过GitHub找到处理协作的GitHubbing MySQL转储(如:数据转储)或MySQL"版本控制"的主题,这些都没有告诉我我想知道的内容:

如何在GitHub上包含有关PHP项目的表的MySQL数据库模式/信息?

我想在GitHub上共享一个PHP项目,它依赖于某些表存在MySQL数据库.如果有人想复制/使用这个项目,他们需要有这些特定的表来使脚本工作(所有表只有一个在开头是空的,只有用户通过脚本随时间填充;非空表从一开始就包含三个值).如何解决这个问题,通常的做法是什么?

  • 我是否只获取自己的db/tables的(完整)转储文件,然后删除所有数据部分(除了那个非空表),将所有自动增量设置为零,然后将该.sql文件上传到GitHub项目的其余部分? 要么
  • 编写一个(PHP)脚本是最好/更好的做法,用户可以创建这些表而不必使用mysqldump /命令行魔术?

如果解决方案#1是要走的路,我是否会包含有关如何使用这种.sql文件的进一步说明?

很抱歉,如果我的问题听起来很愚蠢,但正如我上面所说的那样,我自己是使用命令行进行MySQL相关事情的新手,直到昨天才使用phpMyAdmin(当我用mysqldump创建我的第一个转储文件时 - 是的!) .

mysql dump github mysqldump database-schema

17
推荐指数
1
解决办法
1万
查看次数

帮助CRUD程序员考虑"批准工作流程"

我一直在研究一个基本上是CRUD应用程序(创建,读取,更新,删除)的Web应用程序.最近,我开始研究我称之为"批准工作流程".基本上,会为物料生成请求,然后将其发送给经理批准.根据请求的不同,不同的人需要批准请求或者将其发送回请求者进行修改.批准者需要跟踪批准已批准的内容以及请求者需要查看其请求状态的内容.

作为一名"CRUD"开发人员,我正在努力解决如何设计这个问题.我应该拥有哪些数据库表?如何跟踪请求的状态?我应该如何通知用户他们的请求发生的操作?

他们的设计模式可以帮助我吗?我应该在我的代码中绘制状态机吗?

我认为这是一个通用的编程问题,但如果它有所不同,我正在使用Django和MySQL.

database-design database-schema

16
推荐指数
2
解决办法
5271
查看次数

为什么ISql100DatabaseEncryptionKey阻塞模式比较

我试图在一些SQL Server 2008数据库上的Visual Studio 2010中进行架构比较.但是我收到以下错误.它是什么意思,我怎么能忽略?

An error was received from SQL Server while attempting to reverse engineer elements of type Microsoft.Data.Schema.Sql.SchemaModel.ISql100DatabaseEncryptionKey: The user does not have permission to perform this action.
Run Code Online (Sandbox Code Playgroud)

更新:"写更新"确实有效.但我不能"导出到编辑器".

visual-studio-2010 sql-server-2008 database-schema

16
推荐指数
1
解决办法
4452
查看次数

稀疏数据/数据存储区/数据库是什么意思?

最近一直在阅读Hadoop和HBase,并且遇到了这个术语 -

HBase是一个开源,分布式,稀疏,面向列的存储......

稀疏是什么意思?它与稀疏矩阵有关吗?我猜它是可以有效存储的数据类型的属性,因此,想要了解更多.

database hadoop hbase sparse-matrix database-schema

16
推荐指数
2
解决办法
3万
查看次数

如何在PostgreSQL中复制模式

我有一个架构public和数据库schema_A.我需要创建一个schema_b结构相同的新模式schema_a.我发现下面的函数,问题是它不复制外键约束.

CREATE OR REPLACE FUNCTION clone_schema(source_schema text, dest_schema text)
  RETURNS void AS
$BODY$
DECLARE
  object text;
  buffer text;
  default_ text;
  column_ text;
BEGIN
  EXECUTE 'CREATE SCHEMA ' || dest_schema ;

  -- TODO: Find a way to make this sequence's owner is the correct table.
  FOR object IN
    SELECT sequence_name::text FROM information_schema.SEQUENCES WHERE sequence_schema = source_schema
  LOOP
    EXECUTE 'CREATE SEQUENCE ' || dest_schema || '.' || object;
  END LOOP;

  FOR object IN
    SELECT …
Run Code Online (Sandbox Code Playgroud)

postgresql foreign-key-relationship database-schema postgresql-9.1

16
推荐指数
4
解决办法
3万
查看次数

在Entity Framework Core中动态更改架构

UPD 这里是我解决问题的方式.虽然它可能不是最好的,但它对我有用.


我在使用EF Core时遇到问题.我想通过模式机制将项目数据库中不同公司的数据分开.我的问题是如何在运行时更改模式名称?我已经找到了关于这个问题的类似问题,但它仍然是答案,我有一些不同的条件.所以我有Resolve方法在必要时授予db-context

public static void Resolve(IServiceCollection services) {
    services.AddIdentity<ApplicationUser, IdentityRole>()
        .AddEntityFrameworkStores<DomainDbContext>()
        .AddDefaultTokenProviders();
    services.AddTransient<IOrderProvider, OrderProvider>();
    ...
}
Run Code Online (Sandbox Code Playgroud)

我可以设置schema-name OnModelCreating,但是,如前所述,这个方法只调用一次,所以我可以在这里设置模式名称globaly

protected override void OnModelCreating(ModelBuilder modelBuilder) {
    modelBuilder.HasDefaultSchema("public");
    base.OnModelCreating(modelBuilder);
}
Run Code Online (Sandbox Code Playgroud)

或者通过类似的属性在模型中

[Table("order", Schema = "public")]
public class Order{...}
Run Code Online (Sandbox Code Playgroud)

但是如何在运行时更改模式名称?我根据每个请求创建了ef的上下文,但首先我通过请求为数据库中的某个模式共享表格查找了用户的模式名称.那么组织该机制的真正方法是什么:

  1. 根据用户的凭据计算出模式名称;
  2. 从特定架构的数据库中获取特定于用户的数据.

谢谢.

PS我使用PostgreSql,这是表名低的原因.

c# entity-framework database-schema entity-framework-core asp.net-core

16
推荐指数
5
解决办法
2万
查看次数

无法在 Prisma 的一个模型中建立两个 1:1 关系。检测到不明确的关系

我试图在 Prisma ORM 的一个模型中建立两个 1:1 关系,但出现以下错误:

验证模型“Person”时出错:检测到不明确的关系。模型中的字段placeOfBirth和字段均指的是。请通过添加 为它们提供不同的关系名称。placeOfDeathPersonPlace@relation(<name>)

我的棱镜架构:

model Place {
    id              Int     @id @default(autoincrement())
    name            String
    persons         Person[]
}

model Person {
    id              Int     @id @default(autoincrement())
    name            String
    placeOfBirthId  Int
    placeOfDeathId  Int
  placeOfBirth    Place   @relation(fields: [placeOfBirthId], references: [id])
    placeOfDeath    Place   @relation(fields: [placeOfDeathId], references: [id])
}
Run Code Online (Sandbox Code Playgroud)

完全不明白。

orm schema database-schema prisma prisma2

16
推荐指数
1
解决办法
7338
查看次数

学校管理系统的数据库规范化

我正在为学校管理系统创建系统,并提出附加的数据库模式.

数据库图http://oi40.tinypic.com/15x21ig.jpg

以下是系统的工作原理:

  1. 一所学校有很多学生和老师.它还教授了许多课程(科目).年级可以分配许多课程.这些课程将分配给该特定年级的学生.
  2. 学生的水平分为等级和部分.学生可以达到五年级,但如果五年级学生数量巨大,他们会分成几个部分.例如:5年级A部分,5年级B部分.
  3. 学生被安置在独特的教室里.整个教室将是独一无二的.2010年的5年级A级课堂将与2011年5年级A级的课堂不同.
  4. 学生被分配到父母.家长可以在学校拥有一名以上的学生.
  5. 可以将一个或多个教室分配给教师.
  6. 学生每天都会参加学生的考试
  7. 会有很多类型的考试.为每个科目(课程)存储考试结果.

我是数据库规范化的初学者,如果有人能给我一些提示,如果数据库看起来不错,我会很高兴.

编辑:

此外,只有一个登录点.在上述情况下,在登录期间,用户必须从下拉列表中选择用户类型.该下拉选择将用于查询相应的表以登录系统.另一种方法是使用一个公用user表,它将存储user_id, email, password, last_login_date, last_login_ip但会将其他细节存储在各自的表中,例如student, parent, teacher.那么,实现它的首选/正确方法是什么?

mysql database-design relational-database database-schema database-normalization

15
推荐指数
1
解决办法
5万
查看次数

缩短MongoDB属性名称是否值得?

使用mongoDB,express和Node.js博客中,作者提到缩短属性名称是个好主意:

....经常报告mongoDB的问题是磁盘上数据的大小...每个记录都存储了所有的字段名称....这意味着拥有属性通常可以更节省空间例如't',或'b'而不是'title'或'body',但是为了避免混淆,除非真正需要,否则我会避免这种情况!

我知道如何做到的解决方案.我更感兴趣的是什么时候才真正需要?

mongodb database-schema

15
推荐指数
4
解决办法
4602
查看次数

设置DbContext的模式名称

我知道如何在我的上下文中为表设置模式,但有没有办法为上下文中的所有表设置默认模式?即

[Schema = "Ordering"] 
public class MyContext:DbContext
{
    public MyContext()
        : base("name=ConnectionString")
    {
    }

    public DbSet<Student> Students { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# entity-framework database-schema entity-framework-6

15
推荐指数
2
解决办法
2万
查看次数