小编van*_*van的帖子

Mercurial - 恢复旧版本并从那里继续

我在本地使用Mercurial进行项目(这是唯一没有推送/拉动其他地方的回购).

到目前为止,它有一个线性历史.然而,我正在研究的当前事情我现在已经意识到这是一种可怕的方法,我想在开始之前回到版本并以不同的方式实现它.

我对Mercurial中的branch/ revert/ update -C命令有点困惑.基本上我想恢复到版本38(目前在45)并让我的下一个提交有38作为父母并从那里继续.我不在乎修改39-45是永远丢失还是最终落入他们自己的死胡同.

我需要哪个命令/命令集?

version-control mercurial branch dvcs revert

248
推荐指数
6
解决办法
16万
查看次数

在Pandas to_sql中指定模式

to_sql的源代码,我可以看到它被映射到Meta Data对象meta = MetaData(con, schema=schema).但是,我找不到SQLAlchemy文档告诉我如何定义MySQL的Schema

如何指定架构字符串?

python mysql sqlalchemy pandas

11
推荐指数
1
解决办法
6536
查看次数

Database VIEW不反映底层TABLE中的数据

输入:

客户声称,在查询某些数据时,应用程序(.NET)会返回与客户直接查看数据表时不同的数据.

我知道可能有各种各样的原因并且在完全不同的地方.我的目的不是在这里解决它,而是要求经验丰富的DBA和DB开发人员:

VIEW是否可以显示与基础TABLE不匹配的数据?

  • 可能的原因/原因是什么?
  • 当表真的没有时,视图上的UPDATE语句是否会导致将来的SELECT返回'更新'数据?

可能的原因(请对带有问号的人发表评论):

  1. 原因是有两个单独的交易,这可以解释客户的困惑.
  2. 基础表已更改,但视图未刷新(使用sp_refreshview)
  3. 一个不同的用户正在连接,并且由于权限可以看到不同的数据?
  4. 程序员错误:错误的表/列,错误的过滤器(这里是一体机)
  5. 发生了腐败:DBCC CHECKDB应该有所帮助
  6. SELECT ... FOR UPDATE导致这个???
  7. ?__

真正发生的事(答案):

在某些表中,列位置发生了变化:显然,客户为数据库使用情况分析的顾问提供了完整的数据库访问权限.当使用子句时,那个伟大的家伙改变了列的顺序,以查看表格开头的几个审计字段SELECT * ....

使用dbGhost将数据库模式与问题出现前几天进行的备份模式进行比较,并发现列位置差异.

接下来发生的事情与编程无关,但更多的是政治问题.

因此,这sp_refreshview是解决方案.我只是更进一步找到导致问题的原因.谢谢你们.

sql sql-server schema

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

为什么SQL Server Management Studio使用方括号生成代码?

生成代码/脚本时,

  1. 为什么SQL Server Management Studio使用方括号而不是双引号生成代码?

    SELECT [NAME] FROM [TABLE]

  2. 并且有一种方法(设置/注册表项)来配置它使用双引号(标准)而不是?

    从"表"中选择"NAME"

这是非常MSFT-TY功能,因为他们所有的文档现在表明双引号(见)

sql-server ssms

6
推荐指数
1
解决办法
2649
查看次数

REFERENTIAL_CONSTRAINTS 中 UNIQUE_CONSTRAINT_NAME 的值不正确

我使用INFORMATION_SCHEMA带有以下查询的视图集列出给定表的所有 FK 约束:

SELECT      X.UNIQUE_CONSTRAINT_NAME,
            "C".*, "X".*
FROM        "INFORMATION_SCHEMA"."KEY_COLUMN_USAGE" AS "C"
INNER JOIN  "INFORMATION_SCHEMA"."REFERENTIAL_CONSTRAINTS" AS "X"
        ON  "C"."CONSTRAINT_NAME" = "X"."CONSTRAINT_NAME" 
        AND "C"."TABLE_NAME" = 'MY_TABLE'
        AND "C"."TABLE_SCHEMA" = 'MY_SCHEMA'
Run Code Online (Sandbox Code Playgroud)

一切正常,但对于一个特定的约束,UNIQUE_CONSTRAINT_NAME列的值是错误的,我需要它以便从引用的列中找到其他信息。基本上,对于大多数行,它UNIQUE_CONSTRAINT_NAME包含引用表中唯一约束(或 PK)FK的名称,但对于一个特定的行,它是其他一些唯一约束的名称。

我放弃并重新创建了 FK - 没有帮助。

我的假设是元数据在某种程度上被搞砸了。有没有办法重建元数据,以便INFORMATION_SCHEMA视图实际显示正确的数据?

编辑 1:示例数据库结构

CREATE TABLE MY_PARENT_TABLE (
    ID      INTEGER,
    NAME    VARCHAR,
    --//...

    CONSTRAINT MY_PARENT_TABLE_PK PRIMARY KEY CLUSTERED (ID)
)

CREATE UNIQUE NONCLUSTERED INDEX MY_PARENT_TABLE_u_nci_ID_LongName ON MY_PARENT_TABLE (ID ASC) INCLUDE (SOME_OTHER_COLUMN)

CREATE TABLE MY_CHILD_TABLE (
    ID      INTEGER, …
Run Code Online (Sandbox Code Playgroud)

sql-server metadata information-schema sql-server-2008

3
推荐指数
1
解决办法
310
查看次数

使用SqlAlchemy在__init__上一致地应用东西

假设我有这样的事情:

def Tab(Base):
  a = 'a'
  b = 'b'
  c = 'c'

  def __init__(self):
    self.c_a = DBSession.query(Table2).filter(Table2.a == self.a).all()
Run Code Online (Sandbox Code Playgroud)

似乎self.c_a只适用于我插入的项目.我想确保指定的操作__init__(这只是一个可能更好的例子relationship(),但使用你的想象力)适用于所有对象,包括SA从我的数据库中查询的对象.有人知道怎么做吗?

我觉得我可能会误解某些东西,如果是的话请纠正我.

python sqlalchemy

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

SQL Alchemy没有事务开始错误

我运行以下代码

db = create_engine('sqlite:///tracking_test.db')
db.echo= True
metadata = MetaData(db)
session = create_session(bind=db)
#define tables, if they exist sqlalchemly will find them and sycn otherwise they will be created
delivered= Table('delivered', metadata,
    Column('delivered_id',Integer,primary_key=True),
    Column('domain',String(200)),
    Column('path',String(500)),
    )

class Delivered(object):        
    def __init__(self,obj):
        self.domain=u'%s' % obj.get("dm","")
        self.path=u'%s' % obj.get("pth","")


report1t = Table('clicked', metadata,
    Column('clicked_id',Integer,primary_key=True),
    Column('domain',String(200)),
    Column('path',String(500)),

)

class report1(object):
    def __init__(self,obj):
        self.domain=u'%s' % obj.get("dm","")
        self.path=u'%s' % obj.get("pth","")


metadata.create_all()
mapper(report1, report1t)
mapper(Delivered,delivered)
result= {}#some dict
newT = Delivered(result)
if newT:
    session.add(newT)
    session.commit()
    session.flush()
Run Code Online (Sandbox Code Playgroud)

我收到此错误sqlalchemy.exc.InvalidRequestError:没有开始事务.

会议词典说: …

python sqlalchemy

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

SQL Server 2008:N个小型数据库VS 1个具有N个架构的数据库

我有一个数据库服务器,几乎没有主数据库,几十个小数据库.

这些小型数据库是一种中介/临时数据库,用于从各种源向主数据库导入数据.数据导入是一项日常任务.它们在结构上非常相似,因为这些数据导入的实现是相似的,所以基本上它们有一个配置表,它定义了映射,转换等,以及包含导入结果的数据表.

前段时间只有少数几个小的,但现在我有超过20个它们将随着支持的数据源的数量进一步增长.

我刚刚将所有服务器环境迁移到SQL Server 2008,并且现在有一些时间进行清理/重构,我想将所有数据导入数据库合并到一个数据库中,并用它database schema来分隔它们.

问题0:针对所述情况的任何其他想法?

问题1:我要从a separate database改为a separate schema吗?

问题2: !!!:在database schema实施中要小心任何棘手的事情?


编辑-1:突出显示的问题-2是目前最"未答复"的问题.

sql sql-server schema database-design sql-server-2008

2
推荐指数
1
解决办法
1176
查看次数

同一个表名的2个关系混淆了SQLAlchemy

IE:

class Share(db.Model):
    """
    Stores the Checkpoint shares between users
    """
    id = db.Column(db.Integer, primary_key=True)
    user_from_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user_from = db.relationship("User")
    user_to_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user_to = db.relationship("User")
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

ArgumentError:无法确定关系Share.user_from上的父/子表之间的连接条件.指定'primaryjoin'表达式.如果存在'secondary',则还需要'secondaryjoin'.

我怎样才能解决这个问题?

谢谢!

sqlalchemy flask flask-sqlalchemy

2
推荐指数
1
解决办法
1321
查看次数

SQL静态数据/查找列表IDENTIFIER

关于静态数据表设计.在表中显示静态数据:

  • 货币(代码,名称).行示例:美元,美元
  • 国家(代码,名称).行示例:DE,德国
  • XXXObjectType(代码,名称,...其他属性)
  • ...

将另一个(INTEGER)列作为主键是否有意义,以便所有外键引用都可以使用它?

可能的解决方案:

  1. 使用额外的INTEGER作为PK和FK
  2. 使用代码(通常是CHAR(N),其中N很小)作为PK和FK
  3. 仅在小于一定尺寸时才使用代码......尺寸是多少?
  4. 其他 _______

你的建议是什么?为什么?

我通常使用INT IDENTITY列,但通常使用短代码足以在UI上向用户显示,在这种情况下查询将少一个JOIN.

sql sql-server static relational

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

角度订单下拉列表选择列表

如何使用Angular在选择下拉列表中订购列表?

这是角度控制器:

var app = angular.module("app", []);

app.controller('Ctrl', function($scope, $filter, $http) {

    $scope.options= [
                  {
                    "id": 823,
                    "value": "81"
                  },
                  {
                    "id": 824,
                    "value": "77"
                  },
                  {
                    "id": 825,
                    "value": "152"
                  },         
                ];   

    });
Run Code Online (Sandbox Code Playgroud)

和HTML:

<h4>Angular-xeditable Editable row (Bootstrap 3)</h4>
<div ng-app="app" ng-controller="Ctrl">    
   <select ng-model="test" ng-options="v.id as v.value for v in options | orderBy: value"></select>
</div>
Run Code Online (Sandbox Code Playgroud)

现在订单是:81,77,152

我想要:77,81,152

我怎么能这样做?

Jsfiddle测试

谢谢

angularjs

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