尽管DELETE请求在本地成功运行,但在将应用程序部署到MS Azure时它不起作用.
这是我在尝试删除记录时在控制台中获得的内容:
DELETE http://mywebsite.azurewebsites.net/api/subjects/1 405 (Method Not Allowed)
Run Code Online (Sandbox Code Playgroud)
我的应用程序使用mySQL的cleardb
如何解决这样的问题?
编辑
我的应用程序是一个PHP 5.5应用程序,这是我尝试web.config启用DELETE和PUT,但它不起作用:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<security>
<requestFiltering>
<verbs applyToWebDAV="false">
<add verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS,XYZ" allowed="true" />
</verbs>
</requestFiltering>
</security>
<handlers>
<remove …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个带有Wordpress的免费Azure网站.自动创建了一个ClearDB mysql数据库.
我想使用像MySQL Workbench这样的东西远程连接到数据库.
我使用了天蓝色门户仪表板中"查看连接字符串"的凭据,但是连接时出错.
我在一些帖子中读到db本身托管在azure云中,因此无法访问.有没有人设法管理像这样的数据库?
使用Heroku运行ClearDB作为MySQL层,主键以10的倍数自动递增.因此,例如,第一个插入可以是4然后是14,24,34等.我完全接受他们的推理,所以这不是问题.
我的问题是,你如何在你的代码中处理这个问题.例如,假设我有一个status由4行组成的表,
id | name
1 | Active
2 | Retired
3 | Banned
4 | Awaiting Mod
Run Code Online (Sandbox Code Playgroud)
然后在我的应用程序中我使用:
if($status['id'] == 1){
//do something
}else{
// do something else
}
Run Code Online (Sandbox Code Playgroud)
显然,由于PK的增加方式,这将会中断.处理这类情况的最佳做法是什么?例如,我不能检查14,因为没有什么可以说编号策略不会改为12,22,32等.
我应该按名称进行检查,例如,if($status['name'] == 'Active')或者我int是否需要在表中添加新列?我知道int在SQL中查询要快得多string.
那么,处理这个问题的正常方法是什么?
我正在使用带有clearDB的Windows Azure.当前数据库自动增量值为10.我希望它为1.
我试图在PHPMyAdmin中运行这些命令,
1)
set global auto_increment_increment = 1;
set global auto_increment_offset = 1;
Run Code Online (Sandbox Code Playgroud)
错误:#1227 - 拒绝访问; 您需要(至少一个)此操作的SUPER权限
2)
set auto_increment_increment = 1;
set auto_increment_offset = 1;
Run Code Online (Sandbox Code Playgroud)
之后我通过这个命令检查了它,
SHOW VARIABLES LIKE 'auto_inc%';
Run Code Online (Sandbox Code Playgroud)
结果:
Variable_name Value
auto_increment_increment 10
auto_increment_offset 1
Run Code Online (Sandbox Code Playgroud)
可能是什么原因?
我有一个带有mysql数据库的Ruby on Rails应用程序(使用gem mysql2).由于Heroku运行postgres,我按照这一步骤使其工作:
$>heroku addons:create cleardb:ignite
$>heroku config | grep CLEARDB_DATABASE_URL
$>heroku config:set DATABASE_URL='mysql2://my-url'
Run Code Online (Sandbox Code Playgroud)
如上所述这里.
问题是我在最后一个命令上得到了这个错误:
Setting config vars and restarting xxxxxx-xxxxx-16407... !!!
? Cannot overwrite attachment values DATABASE_URL.
Run Code Online (Sandbox Code Playgroud)
我的应用程序无法运行:
2016-03-18T10:31:31.413121+00:00 heroku[run.1567]: State changed from up to complete
2016-03-18T10:31:34.818303+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=xxxxx-xxxxx-16407.herokuapp.com request_id=236455b8-7a02-49f0-8e2e-a67341a81580 fwd="151.225.234.109" dyno= connect= service= status=503 bytes=
2016-03-18T10:31:35.308136+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=xxxxx-xxxx-16407.herokuapp.com request_id=974dab02-e914-42fb-ad96-5476e30e9d17 fwd="151.225.234.109" dyno= connect= service= status=503 bytes=
2016-03-18T10:31:35.434538+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET …Run Code Online (Sandbox Code Playgroud) 我正在使用SQLAlchemy和两个MySQL数据库.其中一个是我的机器本地托管的开发数据库,另一个是ClearDB在Heroku上提供的用于生产的MySQL服务器.
我与数据库打开了一个长时间运行的会话,同时它与另一个服务执行同步操作.在我的本地机器上,这很好,但在生产中我得到错误(2013年,"在查询期间丢失了与MySQL服务器的连接").
我已经读过其他帖子,说它可能是请求的大小太大或需要调整的池刷新变量.我不相信事务有效负载相对那么大,并且pool_recycle在调用SQLAlachemy时设置变量create_engine似乎不起作用.
有没有其他人遇到过这个问题,或者能够帮助我缩小这个错误的根本原因 - 这似乎是一个问题,我不知道从哪里开始.
根据评论中的要求,两个系统都返回相同的值select @@interactive_timeout, @@wait_timeout:28800,28800.
谢谢
我已经在Heroku上部署了我目前的Laravel项目.我的本地数据库是MySQL.由于Heroku不直接支持MySQL,我需要安装ClearDB MySQL插件.当我heroku addons:create cleardb:ignite在Heroku CLI中运行时,它会给出以下消息:
> Please verify your account to install this add-on plan (please enter a
> credit card)
Run Code Online (Sandbox Code Playgroud)
这个验证是必须的吗?任何人都可以帮我免费安装这个插件!
我将 Django 应用程序上传到 Heroku,然后使用 Heroku 文档中的以下 3 个命令配置 cleardb 附加组件:
heroku addons:create cleardb:ignite
heroku config | grep CLEARDB_DATABASE_URL
heroku config:set DATABASE_URL='mysql://adffdadf2341:adf4234@us-cdbr-east.cleardb.com/heroku_db?reconnect=true'
Run Code Online (Sandbox Code Playgroud)
它似乎没问题并且应用程序正在运行(但没有数据库)。现在我尝试运行:
$ heroku run python manage.py migrate
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/__init__.py", line 355, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/base.py", line 327, in execute
self.check()
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/base.py", line 359, in check
include_deployment_checks=include_deployment_checks,
File "/app/.heroku/python/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line …Run Code Online (Sandbox Code Playgroud) 我在使用 ClearDB mySQL 的 Heroku 上的 Rails 站点上始终收到此错误。
Mysql2::Error: User '123123' has exceeded the 'max_questions' resource
(current value: 18000)
Run Code Online (Sandbox Code Playgroud)
查看日志,正常 ActiveRecord 查找返回异常。例外之一是抱怨模型关注中的范围。
ActiveRecord::StatementInvalid: Mysql2::Error: User '123123'
has exceeded the 'max_questions' resource (current value: 36000): SET
@@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'),
',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0,
@@SESSION.wait_timeout = 2147483
Run Code Online (Sandbox Code Playgroud)
我正在执行Punch 计划。该网站根本没有获得太多流量。每天约 100 次访问。是否有什么我没有在 Rails 或 Heroku 中正确配置以避免此错误?
更新:转移到下一个更高的计划,但仍然得到这些例外。
cleardb ×10
heroku ×7
mysql ×7
php ×3
azure ×1
django ×1
http ×1
iis ×1
phpmyadmin ×1
postgresql ×1
python ×1
sql ×1
sqlalchemy ×1