小编X-I*_*nce的帖子

升级Pyramid/SQLAlchemy Web应用程序

我有一个标准的磨机Pylons金字塔应用程序,它使用SQLAlchemy作为其数据库持久性.

我已经设置了一个SQLAlchemy-migrate repo并使其正常运行,但我真的希望能够使用paster升级和降级数据库,或者至少某种方式让用户(安装鸡蛋后)升级/降级数据库到所需的版本.

我现在已将它内置到我的应用程序中,因此在应用程序启动时它会进行版本升级,但我宁愿选择用户明确必须升级数据库的内容,以便他们确切知道发生了什么,并且知道事先做备份.

我该怎么办呢?如何添加粘贴命令?

用户设置应用程序的方式是:

paste make-config appname production.ini
paste setup-app production.ini#appname
Run Code Online (Sandbox Code Playgroud)

要进行第一次设置,要进行数据库升级或升级,我希望:

paste upgrade-app production.ini#appname
Run Code Online (Sandbox Code Playgroud)

或类似的规定.

python sqlalchemy paster sqlalchemy-migrate pyramid

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

在sqlalchemy中自动更新属性

我有一个sqlalchemy模型,设置如下:

class Entry(Base):
    __tablename__ = 'entries'
    __table__ = Table('entries', Base.metadata,
            Column('id', Integer, primary_key=True, unique=True),
            Column('user_id', Integer, ForeignKey('users.id', onupdate="CASCADE", ondelete="RESTRICT")),
            Column('title', String(128)),
            Column('slug', String(128), index=True),
            Column('url', String(256), index=True),
            Column('entry', Text),
            Column('cached_entry', Text),
            Column('created', DateTime, server_default=text('current_timestamp')),
            Column('modified', DateTime, server_onupdate=text('current_timestamp')),
            Column('pubdate', DateTime),
            )
Run Code Online (Sandbox Code Playgroud)

我想的是,当我更新entrycached_entry被重新生成,cached_entry是解析版本的降价entry.基本上我正在缓存markdown解析的输出,这样我就不必在每次显示条目时都这样做.我已经尝试使用@hybrid_method但似乎没有用,因为根本没有存储在数据库中.我已经在Google AppEngine上工作,但我似乎无法弄清楚如何使用SQLAlchemy做同样的事情.

我真的不希望不必将函数添加到使用的类而不是模型中的名称,因为从应用程序的角度来看它更难以强制执行,我不想意外遗漏某些东西.

python sqlalchemy properties automatic-properties

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

8位到16位转换

我有一个捕获 8 位的图像。我希望将 8 位值转换为 16 位。我使用了以下

short temp16 =  (short)val[i] << 8 ;
Run Code Online (Sandbox Code Playgroud)

其中val是一个 8 位样本数组。

上面的说法很吵。有人可以建议一种 8 位到 16 位转换的方法吗?

c image

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

用户名的规范化

获得幂等用户名的规范表示的最佳方法是什么?

我想避免遇到与Spotify相同的问题:http://labs.spotify.com/2013/06/18/creative-usernames/

我正在寻找一个很好的库来用Python做到这一点.我宁愿不做Spotify最终做的事情(运行规范化两次以测试它是否是幂等的),并且将Twisted导入我的项目有点过分,是否有一个独立的库?

在用户名方面,使用电子邮件地址是首选吗?主要网站/公司如何处理这个问题?

python username canonicalization

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

IntegrityError:错误:列“user_id”中的空值违反了非空约束

使用:postgres(PostgreSQL)9.4.5

我刚刚将一个sqlite3数据库迁移到一个postgresql数据库上。由于某种原因,自此迁移以来,当我尝试创建用户时,user_id会引发有关(这是主键)的错误。以前这不是问题sqlite3。我花了时间浏览文档和堆栈问题,但仍然感到困惑。

里面api.create_user()

api.create_user(username ='lola ', firstname ='cats ', lastname ='lcatk', email='cags@falc.com')
Run Code Online (Sandbox Code Playgroud)

sqlalchemy 数据库模型:

class User(Base):
    __tablename__ = 'users'

    #user_id = Column(Integer, primary_key=True)
    #changed to:
    id = Column(Integer, primary_key=True)
    username = Column(String(50))
    firstname = Column(String(50))
    lastname = Column(String(50))
    email = Column(String(300))
    password = Column(String(12))
    institution = Column(String(50))

    def __init__(self, username, firstname, lastname, email):
        self.username = username
        self.firstname = firstname
        self.lastname = lastname
        self.email = email

    def __repr__(self):
        return "<User(username …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy primary-key pyramid

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

在终端中检查重复项?

以下代码打印一长串包含哈希值和文件名的文件

md5sum *.java
Run Code Online (Sandbox Code Playgroud)

我尝试列出出现相同哈希值的行,但没有成功,这样我就可以删除相同的文件。

如何过滤和删除具有相同内容的相同文件?

shell scripting

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

我如何克隆载体?

我使用vector作为输入缓冲区...

recv = read(m_fd, &m_vbuffer[totalRecv], SIZE_OF_BUFFER);
Run Code Online (Sandbox Code Playgroud)

在从输入缓冲区读取所有数据之后,它会将数据放入到线程池中.

所以我试图克隆这个载体.我想我不能只是将指针传递给向量,因为新的数据包进入并且它会覆盖向量内部的数据.

但是,我找不到克隆载体的方法.请给我一个正确的方法来处理这个问题.如果你们指出使用向量作为输入缓冲区或与此相关的教程的任何问题,我将非常感激...

c++ networking

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

在我的网络上托管公共网站的风险?

我想在我工作的局域网上的旧盒子上安装IIS,以便我可以在其上托管一些我正在使用的Silverlight内容,以便在互联网上向其他人展示.我已经设置了一个公共IP,直接通过我的防火墙直接射到那台机器,我有时会使用远程桌面登录到那台机器,并在我在家时做一些错误的工作.它有驱动器号映射到服务器上的数据文件夹,但没有数据直接在该机器上.我不想让我的整个网络暴露在我不理解的风险之中.那么,如果我让人们浏览公共IP地址以使用他们的网络浏览器访问该计算机,这样会安全吗?

iis hosting windows-xp

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

使用xcopy复制所有子文件夹中的所有txt文件

我的任务是将所有.txt文件从Program Files文件夹及其所有子目录复制到我创建的另一个文件夹.我有的脚本:

xcopy c:\"program files"\*\*.txt c:\temp\myfiles\lessons
Run Code Online (Sandbox Code Playgroud)

不想工作.我错过了什么?

xcopy command-prompt

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

金字塔postgresql连接

我是金字塔的全新.我正在尝试开发一个将使用金字塔angd postgresql的应用程序,但我完全困惑如何在sripts目录中配置initializedb.py文件,尤其是初始化数据库.

我正在使用PostgreSQL 9.1.

postgresql sqlalchemy pyramid

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

std :: stringstream奇怪的行为

一些背景信息,对于一项家庭作业,我不得不使用二叉树编写一个波兰语表示计算器,为此,我必须解析命令行输入,以便它可以正确地构建二叉树,然后遍历它来给出有效答案。输入的数学表达式。

为了进行解析,我使用了std :: stringstream,以便可以轻松地将std :: string转换为有效的float(或整数,双精度)。我遇到的问题是以下代码,其中显示了错误以及如何解决该问题。我希望有人可以告诉我我做错了什么.clear()不正确,或者这是否是标准库中处理此特定输入的方式中的错误(仅适用于+和-)。

#include <iostream>
#include <sstream>
#include <string>

int main() {
    std::string mystring("+");
    int num;
    char op;

    std::stringstream iss(mystring);
    iss >> num;

    // Seems it is not a number 
    if (iss.fail()) {
            // This part does not work as you would expect it to

            // We clear the error state of the stringstream
            iss.clear();
            std::cout << "iss fail bit: " << iss.fail() << std::endl;
            iss.get(op);
            std::cout << "op is: " << op << " iss is: …
Run Code Online (Sandbox Code Playgroud)

c++ string stl libstdc++

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